package cn.tedu.service.customer;

import cn.tedu.pojo.customer.dto.CustomerLoginAddNewDTO;
import cn.tedu.pojo.customer.dto.CustomerLoginDTO;
import cn.tedu.pojo.customer.entity.CustomerLogin;
import cn.tedu.pojo.customer.vo.CustomerLoginVO;


public interface ICustomerLoginService {
    /**
     * 增加用户
     * @parm customerLoginDTO 封装了增加用户时所有参数的对象
     * @return 新增用户名*/
    void addNew(CustomerLoginAddNewDTO customerLoginAddNewDTO);

    /**
     * 根据勇用户id查询用户
     * @parm customerLogin 封装了用户所有参数的对象
     * @return 进行匹配 返回对象， 无为null*/
    CustomerLogin getById(Long id);

    /**
     * 根据勇用户名查询用户
     * @parm customerLogin 封装了用户所有参数的对象
     * @return 进行匹配 返回对象， 无为null*/
    CustomerLogin getByUserName(String userName);

    /**
    * 用户登录
    * @parm  CustomerLoginDTO
    * @return 进行查询匹配，有则登录成功，无则null
    * */
    CustomerLoginDTO login(CustomerLoginDTO customerLoginDTO);

    /**
     * 根据用户名查询密码
     * @parm userName
     * @return 进行查询匹配，有则登录成功，无则null
     * */
    CustomerLogin getPasswordByUserName(String userName);

   /**
     * 根据勇用户名查询用户id
     * @parm customerLogin 封装了用户所有参数的对象
     * @return 进行匹配 返回对象， 无为null*/
    CustomerLogin getIdByUserName(String userName);

    /**
     * 根据勇用户id查询用户用
     * @parm customerLogin 封装了用户所有参数的对象
     * @return 进行匹配 返回对象， 无为null*/
    CustomerLogin getUserNameById (Long id);


    /**
     * 根据delete =1 定位所有启用的用户名
     * */
    CustomerLoginVO getByDelete(String userName, Integer isDelete);

    /**
     * 根据更改 delete=1或是0 来启用/禁用用户
     * */

    CustomerLogin updateDelete(String userName,Integer isDelete);










}
